import { createI18n } from 'vue-i18n'
import type { I18n } from 'vue-i18n'

// 导入语言包
import zh from './locales/zh'
import en from './locales/en'

// 支持的语言列表
export const supportedLocales: { code: 'zh' | 'en', name: string }[] = [
    { code: 'zh', name: '中文' },
    { code: 'en', name: 'English' },
    // 可以在这里添加更多语言
]

// 创建i18n实例
const i18n = createI18n({
    legacy: false, // 使用组合式API
    locale: localStorage.getItem('locale') || 'zh', // 默认语言
    fallbackLocale: 'zh', // 回退语言
    messages: {
        zh,
        en
    },
    globalInjection: true, // 全局注入 $t 方法
    silentTranslationWarn: true, // 静默翻译警告
    missingWarn: false, // 关闭缺少翻译的警告
    fallbackWarn: false // 关闭回退翻译的警告
})

// 导出i18n实例，方便在其他地方使用
export default i18n

// 导出全局实例类型，方便在其他地方使用
export type I18nInstance = I18n